package com.cyjt.operation.bean;

import java.io.Serializable;
import java.util.Date;

import com.cyjt.operation.base.Tools;

/**
 * 3G SIM卡的列表信息实体类
 * 
 * @author LTP
 *
 */
public class SimStatusInfo implements Serializable, Comparable<SimStatusInfo> {

	private static final long serialVersionUID = 1L;
	/** SIM卡卡号 */
	private String simNo;
	/** 设备编号 */
	private String deviceCode;
	/** SIM卡到期时间 */
	private Date endAt;
	/** SIM卡充值时间 */
	private Date upAt;
	/** SIM卡充值金额 */
	private int upMoney;
	/** SIM卡状态（是否到期） */
	private int status;

	/**
	 * 获取SIM卡卡号
	 * 
	 * @return SIM卡卡号
	 */
	public String getSimNo() {
		return simNo;
	}

	public void setSimNo(String simNo) {
		this.simNo = simNo;
	}

	/**
	 * @return 设备编号
	 */
	public String getDeviceCode() {
		return deviceCode;
	}

	public void setDeviceCode(String deviceCode) {
		this.deviceCode = deviceCode;
	}

	public Date getEndAt() {
		return endAt;
	}

	/**
	 * 获取SIM卡到期时间
	 * 
	 * @return SIM卡到期时间
	 */
	public String getEndAtToString() {
		if (getEndAt() == null) {
			return Tools.getDF(new Date()).toString();
		}
		return Tools.getDF(getEndAt()).toString();
	}

	public void setEndAt(Date endAt) {
		this.endAt = endAt;
	}

	/**
	 * 获得到期的期限
	 * 
	 * @return 期限(超期显示到期，没超期则显示还有几天)
	 */
	public String getTimeFromNow() {
		if (getEndAt() != null) {
			if (getEndAt().before(new Date())) {
				return "已到期";
			}
			return Tools.diffTime(new Date(), getEndAt());
		}
		return "无到期时间";
	}

	/**
	 * 获取SIM卡充值时间
	 * 
	 * @return SIM卡充值时间
	 */
	public Date getUpAt() {
		return upAt;
	}

	/**
	 * 获取SIM卡充值时间
	 * 
	 * @return SIM卡到期时间
	 */
	public String getUpAtToString() {
		if (getUpAt() == null) {
			return Tools.getDF(new Date()).toString();
		}
		return Tools.getDF(getUpAt()).toString();
	}

	public void setUpAt(Date upAt) {
		this.upAt = upAt;
	}

	/**
	 * 获取SIM卡充值金额
	 * 
	 * @return SIM卡充值金额
	 */
	public int getUpMoney() {
		return upMoney;
	}

	public void setUpMoney(int upMoney) {
		this.upMoney = upMoney;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	@Override
	public int compareTo(SimStatusInfo another) {
		// TODO Auto-generated method stub
		return this.simNo.compareTo(another.simNo);
	}
}
